跳到主要内容

Spring 数据转换

什么是数据转换

参考资料 【小家Spring】聊聊Spring中的数据转换:Converter、ConversionService、TypeConverter、PropertyEditor 参考资料 Spring MVC Converter(类型转换器)详解

数据转换,顾名思义就是数据类型之间的转换,但是对于数据转换,有的是可以进行转化的,例如字符串转整型,但是有些数据类型之间是不能进行转换的,例如从 “aaa” 字符串到整型的转换。

不同的框架都有自己的数据转换的实现,比如 MyBatis、Hibernate 等这些转换器都是必备的。然后作为这么强大的 Spring,它肯定也缺席不了。而这个转换器 org.springframework.core.convert.converter.Converter 它位于核心包中,所以它不仅仅运用于 Spring MVC 等 web 环境,比如 spring-jdbc 等都是有使用到的

关于 Spring 中的数据转换,首先需要了解两大主要分支:

1、Converter<S, T>:是Spring中最为简单的一个接口。位于包:org.springframework.core.convert.converter

相关的顶层接口(类)有:ConditionalConverter、GenericConverter、ConverterFactory、ConvertingComparator、ConverterRegistry

// 实现此接口的 大都会实现 ConditionalConverter
@FunctionalInterface
public interface Converter<S, T> {
// 把S转成T
@Nullable
T convert(S source);
}

2、ConversionService:用于类型转换的服务接口。这是进入转换系统的入口点。位于包:org.springframework.core.convert

相关的顶层接口(类)有:ConversionService、FormattingConversionService、DefaultConversionService、ConversionServiceFactoryBean、FormattingConversionServiceFactoryBean

TODO: 待更新...